var ut = require('./common.js');
var async = require('async');
console.log('开始测试!!!')
//定时任务模块
var schedule = require("node-schedule");

var rule = new schedule.RecurrenceRule();
//rule.dayOfWeek = [0, new schedule.Range(1, 6)];
//每天十点定时执行
rule.hour = new Date().getHours();//new Date().getHours();
rule.minute = new Date().getMinutes() + 1;
console.log("===当前时间",new Date().getMinutes());
ut.saveFileCeshi(function (err, res) {});
var j = schedule.scheduleJob(rule, function (err, res) {
    console.log('开始测试1111111111!!!-------------')

    //查询财政部公告的总页数
    /*ut.query_total_page(function (err, res) {
        //判断不为undefined并且有数据
        if(res != undefined) {
            console.log(res.currentPage + "====" + res.totalPage);//totalPage
            getQuerySaveCpppc(1,res.totalPage,function (err, res) {
                getError(function (err, res) {});
            });
        }else{
            console.log("=============================================")
        }
    });*/



});

var getQuerySaveCpppc = function (num,total,callback) {
    if(num > total){
        return callback(null, null);
    }
    var task = [];
    //获取政府和社会资本合作中心网站的所有数据信息
    task.push(function(callback) {
        var trsComp = new Array();
        ut.query_cpppc_org_list(num, trsComp, callback);
    });
    //获取单个项目的详细信息
    task.push(function(cpppc_info,callback){
        ut.get_cpppc_org_detail(cpppc_info, callback);
    });
    //更新信息
    task.push(function (cpppc_info, callback) {
        console.log("==cpppc_info==",cpppc_info.length)
        ut.update_cpppc(cpppc_info, callback)
    })

    async.waterfall(task, function (err, result) {
        console.log("当天抓取完成")
        setTimeout(function () {
            num++;
            console.log("getQuerySaveCpppc，次数="+num+"    共："+total);
            getQuerySaveCpppc(num,total,callback);
        }, 8000 + Math.ceil(Math.random() * 100));
    })
}
var getError = function (callback) {
    //查询所有的出错信息，重新抓取一次
    var taskErr = [];
    //查询数据库中所有的错误信息
    taskErr.push(function(callback){
        ut.query_error_cpppc_list( function(err, res){
            callback(null, res);
        });
    });
    //根据错误信息的不同类型重新抓取数据，返回采购项目信息的连接
    taskErr.push(function(resList,callback){
        var trsComp = new Array();
        if(resList != null && resList != undefined && resList.length > 0){
            ut.get_cpppc_list_error(resList, trsComp, function(err, res){
                callback(null, res);
            });
        }else{
            callback(null, null);
        }
    });
    //获取单个项目的详细信息
    taskErr.push(function(cpppc_info,callback){
        if(cpppc_info != null && cpppc_info != undefined && cpppc_info.length > 0){
            ut.get_cpppc_org_detail(cpppc_info, callback);
        }else{
            callback(null, null);
        }
    });
    //更新信息
    taskErr.push(function (cpppc_info, callback) {
        if(cpppc_info != null && cpppc_info != undefined && cpppc_info.length > 0){
            console.log("==cpppc_info==",cpppc_info.length)
            ut.update_cpppc(cpppc_info, callback)
        }else{
            callback(null, null);
        }
    })

    async.waterfall(taskErr, function (err, result) {
        console.log("错误信息-----当天抓取完成")

    })
}
